<!DOCTYPE html>
<html>
<head>
    <title>商品信息</title>
    <meta charset="utf-8">
    <!-- 指定以IE8的方式来渲染 -->
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"/>
    <link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon"/>
    <link rel="stylesheet" href="/js/bootstrap/css/bootstrap.min.css">
    <link type="text/css" rel="stylesheet" href="/css/jsherp.css"/>
    <script type="text/javascript" src="/js/jquery-1.8.0.min.js"></script>
    <link rel="stylesheet" type="text/css"
          href="/js/easyui/themes/default/easyui.css"/>
    <link rel="stylesheet" type="text/css" href="/js/easyui/themes/icon.css"/>
    <link type="text/css" rel="stylesheet" href="/css/common.css"/>
    <link type="text/css" rel="stylesheet" href="/css/material.css"/>
    <script type="text/javascript"
            src="/js/easyui/jquery.easyui.min.js"></script>
    <script type="text/javascript"
            src="/js/easyui/locale/easyui-lang-zh_CN.js"></script>
    <script src="/js/handlebars.js"></script>
    <script type="text/javascript" src="/js/common/outlook_in.js"></script>
    <script type="text/javascript" src="/js/common/common.js"></script>
    <script src="/js/common/jsherp.js"></script>
</head>
<body>
<!-- 数据显示table -->
<div id="tablePanel" class="easyui-panel" data-options="fit:true"
     style="padding:1px;top:300px;" title="商品列表" iconCls="icon-list">
    <div class="box-body form-inline">
        <div class="form-group">
            <label class="control-label">类别：</label>
            <div class="control-inline">
                <input name="searchParentName" id="searchParentName"
                       class="easyui-textbox" style="width: 100px;"
                       readonly="readonly"/>
                <a href="javascript:void(0)" class="l-btn l-btn-plain" group=""
                   style="height: 25px;" id="lookForSelectMaterialCategory">
                    <span class="l-btn-left"><span
                            class="l-btn-text icon-search l-btn-icon-left"
                            style="height: 20px"></span></span></a>
                <input name="searchParentId" id="searchParentId" type="hidden"/>
            </div>
        </div>
        <div class="form-group">
            <label class="control-label">品名：</label>
            <div class="control-inline">
                <input type="text" id="searchName" name="searchName" value=""
                       maxlength="100" class="easyui-textbox width-90"/>
            </div>
        </div>
        <div class="form-group">
            <label class="control-label">规格：</label>
            <div class="control-inline">
                <input type="text" id="searchStandard" name="searchStandard"
                       value="" maxlength="100"
                       class="easyui-textbox width-90"/>
            </div>
        </div>
        <div class="form-group">
            <label class="control-label">型号：</label>
            <div class="control-inline">
                <input type="text" id="searchModel" name="searchModel" value=""
                       maxlength="100" class="easyui-textbox width-90"/>
            </div>
        </div>
        <div class="form-group">
            <a href="javascript:void(0)" class="easyui-linkbutton"
               iconCls="icon-search" id="searchBtn">查询</a>&nbsp;
            <a href="javascript:void(0)" class="easyui-linkbutton"
               iconCls="icon-redo" id="searchResetBtn">重置</a>
        </div>
    </div>
    <table id="tableData" style="top:300px;border-bottom-color:#FFFFFF"></table>
</div>

<div id="materialDetailListDlg" class="easyui-dialog"
     style="width:900px;height:520px;padding:10px 20px" closed="true"
     modal="true" collapsible="false" closable="true">
    <table id="materialTableData"
           style="top:50px;border-bottom-color:#FFFFFF"></table>
</div>

<div id="materialDlg" class="easyui-dialog" style="padding:10px 20px" fit="true"
     closed="true" buttons="#dlg-buttons" modal="true" collapsible="false"
     closable="true">
    <form id="materialFM" method="post" novalidate>
        <div id="tt" class="easyui-tabs" style="width:100%;height:520px;">
            <div title="基本信息" style="padding:20px;">
                <table width="100%" style="min-width:1150px;">
                    <tr>
                        <td style="width:60px; height:30px;">品名</td>
                        <td style="padding:5px;width:250px;">
                            <input name="Name" id="Name" class="easyui-textbox"
                                   data-options="required:true,validType:'length[1,30]'"
                                   style="width: 180px;"/>
                        </td>
                        <td style="width:60px;">规格</td>
                        <td style="padding:5px;width:250px;">
                            <input name="Standard" id="Standard"
                                   data-options="validType:'length[1,30]'"
                                   style="width: 180px;border: 1px solid #95B8E7;border-radius:5px;height: 30px"/>
                        </td>
                        <td style="width:60px;">单位</td>
                        <td style="padding:5px;width:250px;">
                            <input name="Unit" id="Unit"
                                   data-options="validType:'length[1,30]'"
                                   style="width: 180px;height: 30px;border: 1px solid #95B8E7;border-radius:5px;"/>
                            <select name="manyUnit" id="manyUnit"
                                    style="width:180px;display: none;height: 30px;border: 1px solid #95B8E7;border-radius:5px;"></select>
                            <input id="manyUnitCheck" type="checkbox"/>多单位
                        </td>
                        <td style="width:250px"></td>
                    </tr>
                    <tr>
                        <td style="width:60px;">型号</td>
                        <td style="padding:5px;">
                            <input name="Model" id="Model"
                                   class="easyui-textbox"
                                   data-options="validType:'length[1,30]'"
                                   style="width: 180px;"/>
                        </td>
                        <td style="height:30px;">颜色</td>
                        <td style="padding:5px">
                            <input name="Color" id="Color"
                                   data-options="validType:'length[1,30]'"
                                   style="width: 180px;border: 1px solid #95B8E7;border-radius:5px;height: 30px"/>
                        </td>
                        <td style="height:30px;">类别</td>
                        <td style="padding:5px">
                            <input name="parentName" id="parentName"
                                   class="easyui-textbox" style="width: 180px;"
                                   readonly="readonly"/>
                            <a href="javascript:void(0)"
                               class="l-btn l-btn-plain" group=""
                               id="lookForMaterialCategory">
                                <span class="l-btn-left"><span
                                        class="l-btn-text icon-search l-btn-icon-left"
                                        style="height: 20px;"></span></span></a>
                            <input name="parentid" id="parentid" type="hidden"/>
                        </td>
                        <td style="text-align: left;"></td>
                    </tr>
                    <tr>
                        <td style="width:60px;">序列号</td>
                        <td style="padding:5px;">
                            <select name="EnableSerialNumber"
                                    id="EnableSerialNumber"
                                    style="width:180px;height: 30px;border: 1px solid #95B8E7;border-radius:5px;">
                                <option value="1">有</option>
                                <option value="0">无</option>
                            </select>
                        </td>
                        <td style="height:30px;">安全存量</td>
                        <td style="padding:5px">
                            <input name="SafetyStock" id="SafetyStock"
                                   class="easyui-textbox"
                                   data-options="validType:'length[1,30]'"
                                   style="width: 180px;"/>
                        </td>
                        <td style="height:30px;"></td>
                        <td style="padding:5px"></td>
                        <td style="text-align: left;"></td>
                    </tr>
                    <tr>
                        <td colspan="7"
                            style="padding:5px 20px 10px 0; width: 1130px">
                            <table id="materialExtendData"
                                   style="width:100%;border-bottom-color:#FFFFFF"></table>
                        </td>
                    </tr>
                    <tr>
                        <td style="height:30px;">备注</td>
                        <td style="padding:5px 20px 5px 5px" colspan="6">
                            <textarea name="Remark" id="Remark"
                                      class="easyui-textbox"
                                      data-options="multiline:true"
                                      placeholder="暂无备注信息"
                                      style="width: 100%; height:40px;"></textarea>
                        </td>
                    </tr>
                </table>
            </div>
            <div title="扩展信息" style="padding:20px;">
                <table class="tb-other-info">
                    <tr class="tr-mfrs">
                        <td style="width:80px;">制造商</td>
                        <td style="padding:5px">
                            <input name="Mfrs" id="Mfrs"
                                   data-options="validType:'length[1,30]'"
                                   style="width: 250px;border: 1px solid #95B8E7;border-radius:5px;height: 30px"/>
                        </td>
                    </tr>
                    <tr class="tr-otherField1">
                        <td>自定义1</td>
                        <td style="padding:5px">
                            <input name="OtherField1" id="OtherField1"
                                   data-options="validType:'length[1,30]'"
                                   style="width: 250px;border: 1px solid #95B8E7;border-radius:5px;height: 30px"/>
                        </td>
                    </tr>
                    <tr class="tr-otherField2">
                        <td>自定义2</td>
                        <td style="padding:5px">
                            <input name="OtherField2" id="OtherField2"
                                   data-options="validType:'length[1,30]'"
                                   style="width: 250px;border: 1px solid #95B8E7;border-radius:5px;height: 30px"/>
                        </td>
                    </tr>
                    <tr class="tr-otherField3">
                        <td>自定义3</td>
                        <td style="padding:5px">
                            <input name="OtherField3" id="OtherField3"
                                   data-options="validType:'length[1,30]'"
                                   style="width: 250px;border: 1px solid #95B8E7;border-radius:5px;height: 30px"/>
                        </td>
                    </tr>
                </table>
            </div>
            <div title="初始库存" style="padding:20px;">
                <div id="initDepot"></div>
            </div>
        </div>
    </form>
</div>
<div id="dlg-buttons">
    <a href="javascript:void(0)" id="saveMaterial" class="easyui-linkbutton"
       iconCls="icon-ok">保存</a>
    <a href="javascript:void(0)" id="cancelMaterial" class="easyui-linkbutton"
       iconCls="icon-cancel"
       onclick="javascript:$('#materialDlg').dialog('close')">取消</a>
</div>

<!-- 导入excel表格 -->
<div id="importExcelDlg" class="easyui-dialog"
     style="width:450px; padding:10px 20px;"
     closed="true" buttons="#dlg-buttons5" modal="true" collapsible="false"
     closable="true">
    <form id="importExcelFM" method="post" enctype="multipart/form-data"
          action="/material/importExcel">
        <table>
            <tr>
                <td style="width:80px;">表格模板</td>
                <td style="padding:5px">
                    <span><a href="/upload/excels/goods_template.xls"><b>Excel模板下载</b></a></span>
                </td>
            </tr>
            <tr>
                <td>文件名称</td>
                <td style="padding:5px">
                    <input name="materialFile" id="materialFile" type="file"
                           style="width: 230px;"/>
                </td>
            </tr>
        </table>
    </form>
</div>
<div id="dlg-buttons5">
    <a href="javascript:void(0)" id="saveimport" class="easyui-linkbutton"
       iconCls="icon-ok">导入</a>
    <a href="javascript:void(0)" id="cancelimport" class="easyui-linkbutton"
       iconCls="icon-cancel"
       onclick="javascript:$('#importExcelDlg').dialog('close')">取消</a>
</div>

<div id="forSelectMaterialCategoryDlg" class="easyui-dialog"
     style="width:380px;padding:10px 20px;top:50px;"
     closed="true" modal="true" cache="false" collapsible="false"
     closable="true">
</div>
<script type="text/javascript">
    var editIndex = undefined;
    var materialCategoryList = null;
    var types = "";
    var multiple = 0;  //倍数
    var mPropertyList = null; //商品属性列表
    var mPropertyListShort = ""; //商品属性列表-传值
    var clickType = ""; //记录从哪里点击的类别弹窗
    var maxBarCode = getMaxBarCode(); //获取当前最大条码
    var thisBarCode = maxBarCode; //全局商品条码
    //初始化界面
    $(function () {
        //初始化系统基础信息
        initMProperty();
        manyUnitFun();
        priceKeyUp();//价格触发事件
        initMPropertyShort(); //初始化商品属性
        initTableData();
        ininPager();
        initForm();
        bindEvent();
    });

    //初始化系统基础信息
    function initMProperty() {
        $.ajax({
            type: "get",
            url: "/materialProperty/list",
            dataType: "json",
            data: ({
                currentPage: 1,
                pageSize: 100
            }),
            success: function (res) {
                if (res && res.code === 200) {
                    if (res.data && res.data.page) {
                        mPropertyList = res.data.page.rows; //属性列表
                    }
                }
            },
            //此处添加错误处理
            error: function () {
                $.messager.alert('查询提示', '查询信息异常，请稍后再试！', 'error');
                return;
            }
        });
    }

    function initMCData(parentid_search) {
        $.ajax({
            type: "get",
            url: "/materialCategory/getAllList",
            data: ({
                parentId: parentid_search
            }),
            //设置为同步
            async: false,
            dataType: "json",
            success: function (res) {
                if (res && res.code === 200) {
                    materialCategoryList = res.data;
                    if (materialCategoryList != null) {
                        options = "";
                        for (var i = 0; i < materialCategoryList.length; i++) {
                            var materialCategory = materialCategoryList[i];
                            types += materialCategory.id + ',';
                        }
                        types += parentid_search;
                    } else {
                        types = parentid_search;
                    }
                } else {
                    $.messager.alert('提示', '查找系统基础信息异常,请与管理员联系！', 'error');
                    return;
                }
            }
        });
    }

    //防止表单提交重复
    function initForm() {
        $('#materialFM').form({
            onSubmit: function () {
                return false;
            }
        });
    }

    //多单位勾选
    function manyUnitFun() {
        $("#manyUnitCheck").off("click").on("click", function () {
            if ($(this).prop("checked") == true) {
                //当前为选中状态
                $("#Unit").hide();
                $("#manyUnit").show();

                $("#Unit").val(""); //清除单位的填写内容
                $("#RetailPrice").val("");
                $("#LowPrice").val("");
                $("#PresetPriceOne").val("");
                $("#PresetPriceTwo").val("");
            } else {
                //当前为不选中状态
                $("#Unit").show();
                $("#manyUnit").hide();

                $("#manyUnit").val(""); //清除多单位的下拉框
                $("#FirstOutUnit").val("");
                $("#FirstInUnit").val("");
                $("#basicUnit").text("");
                $("#basicRetailPrice").val("");
                $("#basicLowPrice").val("");
                $("#basicPresetPriceOne").val("");
                $("#basicPresetPriceTwo").val("");
                $("#otherUnit").text("");
                $("#otherRetailPrice").val("");
                $("#otherLowPrice").val("");
                $("#otherPresetPriceOne").val("");
                $("#otherPresetPriceTwo").val("");

            }
        });
    }

    //价格触发事件
    function priceKeyUp() {
        $("#basicRetailPrice").off("keyup").on("keyup", function () {
            if (multiple) {
                $("#otherRetailPrice").val($(this).val() * multiple);
            }
        });
        $("#basicLowPrice").off("keyup").on("keyup", function () {
            if (multiple) {
                $("#otherLowPrice").val($(this).val() * multiple);
            }
        });
        $("#basicPresetPriceOne").off("keyup").on("keyup", function () {
            if (multiple) {
                $("#otherPresetPriceOne").val($(this).val() * multiple);
            }
        });
        $("#basicPresetPriceTwo").off("keyup").on("keyup", function () {
            if (multiple) {
                $("#otherPresetPriceTwo").val($(this).val() * multiple);
            }
        });
    }

    //初始化商品属性
    function initMPropertyShort() {
        $.ajax({
            type: "get",
            url: "/materialProperty/list",
            dataType: "json",
            async: false,
            data: ({
                currentPage: 1,
                pageSize: 100
            }),
            success: function (res) {
                if (res && res.code === 200) {
                    if (res.data && res.data.page) {
                        var thisRows = res.data.page.rows; //属性列表
                        for (var i = 0; i < thisRows.length; i++) {
                            if (thisRows[i].enabled) {
                                mPropertyListShort += thisRows[i].nativename + ",";
                            }
                        }
                        if (mPropertyListShort) {
                            mPropertyListShort = mPropertyListShort.substring(0, mPropertyListShort.length - 1);
                        }
                    }
                }
            },
            //此处添加错误处理
            error: function () {
                $.messager.alert('查询提示', '查询信息异常，请稍后再试！', 'error');
                return;
            }
        });
    }

    //价格转换
    function parsePrice(value, rec, type) {
        var res = "";
        if (rec.unit) {
            res = value;
        } else {
            var ps = rec.pricestrategy;
            if (ps) {
                var arr = JSON.parse(ps);
                var basic = "";
                if (type == "lowprice") {
                    basic = arr[0].basic.LowPrice;
                } else if (type == "presetpriceone") {
                    basic = arr[0].basic.PresetPriceOne;
                } else if (type == "presetpricetwo") {
                    basic = arr[0].basic.PresetPriceTwo;
                } else if (type == "retailprice") {
                    basic = arr[0].basic.RetailPrice;
                }
                res = basic;
            }
        }
        return res;
    }

    //初始化表格数据
    function initTableData() {
        //改变宽度和高度
        $("#searchPanel").panel({width: webW - 2});
        $("#tablePanel").panel({width: webW - 2});
        $('#tableData').datagrid({
            //title:'商品列表',
            //iconCls:'icon-save',
            //width:700,
            height: heightInfo,
            nowrap: false,
            rownumbers: false,
            //动画效果
            animate: false,
            //选中单行
            singleSelect: true,
            collapsible: false,
            selectOnCheck: false,
            //fitColumns:true,
            //单击行是否选中
            //checkOnSelect : false,
            pagination: true,
            //交替出现背景
            striped: true,
            //loadFilter: pagerFilter,
            pageSize: initPageSize,
            pageList: initPageNum,
            columns: [[
                {field: 'id', width: 35, align: "center", checkbox: true},
                {
                    title: '操作',
                    field: 'op',
                    align: "center",
                    width: 60,
                    formatter: function (value, rec, index) {
                        var str = '';
                        str += '<img title="编辑" src="/js/easyui/themes/icons/pencil.png" style="cursor: pointer;" onclick="editMaterial(\'' + index + '\');"/>&nbsp;&nbsp;&nbsp;';
                        str += '<img title="删除" src="/js/easyui/themes/icons/edit_remove.png" style="cursor: pointer;" onclick="deleteMaterial(' + rec.id + ');"/>';
                        return str;
                    }
                },
                {title: '品名', field: 'name', width: 120},
                {title: '规格', field: 'standard', width: 80},
                {title: '型号', field: 'model', width: 80},
                {title: '类别', field: 'categoryName', width: 80},
                {title: '扩展信息', field: 'materialOther', width: 150},
                {
                    title: '单位', field: 'unit', width: 100,
                    formatter: function (value, rec) {
                        if (value) {
                            return value;
                        } else {
                            return rec.unitName;
                        }
                    }
                },
                {title: '安全存量', field: 'safetystock', width: 70},
                {
                    title: '库存',
                    field: 'stock',
                    width: 70,
                    formatter: function (value, rec) {
                        var str = '';
                        str += '<span title="查看出入库明细" class="n-link" onclick="findStockList(' + rec.id + ');">' + rec.stock + '</span>';
                        return str;
                    }
                },
                {title: '采购价', field: 'purchaseDecimal', width: 70},
                {title: '零售价', field: 'commodityDecimal', width: 70},
                {title: '销售价', field: 'wholesaleDecimal', width: 70},
                {title: '最低售价', field: 'lowDecimal', width: 70},
                {
                    title: '状态',
                    field: 'enabled',
                    width: 50,
                    align: "center",
                    formatter: function (value) {
                        return value ? "启用" : "禁用";
                    }
                },
                {
                    title: '序列号',
                    field: 'enableserialnumber',
                    width: 70,
                    align: "center",
                    formatter: function (value) {
                        return value == '1' ? "有" : "无";
                    }
                }
            ]],
            toolbar: [
                {
                    id: 'addMaterial',
                    text: '增加',
                    iconCls: 'icon-add',
                    handler: function () {
                        addMaterial();
                    }
                },
                '-',
                {
                    id: 'deleteMaterial',
                    text: '删除',
                    iconCls: 'icon-remove',
                    handler: function () {
                        batDeleteMaterial();
                    }
                },
                '-',
                {
                    id: 'setEnable',
                    text: '启用',
                    iconCls: 'icon-ok',
                    handler: function () {
                        setEnableFun();
                    }
                },
                '-',
                {
                    id: 'setDisEnable',
                    text: '禁用',
                    iconCls: 'icon-no',
                    handler: function () {
                        setDisEnableFun();
                    }
                },
                '-',
                {
                    id: 'setInput',
                    text: '导入',
                    iconCls: 'icon-excel',
                    handler: function () {
                        setInputFun();
                    }
                },
                '-',
                {
                    id: 'setOutput',
                    text: '导出',
                    iconCls: 'icon-excel',
                    handler: function () {
                        setOutputFun();
                    }
                }
            ],
            onLoadError: function () {
                $.messager.alert('页面加载提示', '页面加载异常，请稍后再试！', 'error');
                return;
            }
        });
        dgResize();
        showMaterialDetails(1, initPageSize);
    }

    //初始化表格数据
    function initMaterialDetailData(mId) {
        $('#materialTableData').datagrid({
            height: heightInfo - 50,
            nowrap: false,
            rownumbers: false,
            //动画效果
            animate: false,
            //选中单行
            singleSelect: true,
            collapsible: false,
            selectOnCheck: false,
            //单击行是否选中
            checkOnSelect: false,
            //交替出现背景
            striped: true,
            pagination: true,
            pageSize: initPageSize,
            pageList: initPageNum,
            columns: [[
                {
                    title: '单据编号', field: 'Number', width: 150,
                    formatter: function (value, row) {
                        return '<a class="n-link" onclick="turnBillDetailPage(\'' + row.Number + '\'' + ',\'' + row.Type + '\');">' + row.Number + '</a>';
                    }
                },
                {title: '类型', field: 'Type', width: 100},
                {title: '数量', field: 'BasicNumber', width: 80},
                {
                    title: '日期',
                    field: 'OperTime',
                    width: 180,
                    formatter: function (value) {
                        return formatTime(value, 'Y-M-D h:m:s');
                    }
                }
            ]],
            onLoadError: function () {
                $.messager.alert('页面加载提示', '页面加载异常，请稍后再试！', 'error');
                return;
            }
        });
    }

    //分页信息处理
    function ininMaterialDetailPager(mId) {
        try {
            var opts = $("#materialTableData").datagrid('options');
            var pager = $("#materialTableData").datagrid('getPager');
            pager.pagination({
                onSelectPage: function (pageNum, pageSize) {
                    opts.pageNumber = pageNum;
                    opts.pageSize = pageSize;
                    pager.pagination('refresh', {
                        pageNumber: pageNum,
                        pageSize: pageSize
                    });
                    getMaterialInOutList(mId, pageNum, pageSize);
                }
            });
        } catch (e) {
            $.messager.alert('异常处理提示', "分页信息异常 :  " + e.name + ": " + e.message, 'error');
        }
    }

    function getMaterialInOutList(mId, pageNo, pageSize) {
        $.ajax({
            type: "get",
            url: "/depotItem/findDetailByTypeAndMaterialId",
            dataType: "json",
            data: ({
                materialId: mId,
                currentPage: pageNo,
                pageSize: pageSize
            }),
            success: function (res) {
                if (res && res.code === 200) {
                    if (res.data && res.data.page) {
                        $("#materialTableData").datagrid('loadData', res.data.page);
                    }
                }
            },
            //此处添加错误处理
            error: function () {
                $.messager.alert('查询提示', '查询数据后台异常，请稍后再试！', 'error');
                return;
            }
        });
    }

    //初始化键盘enter事件
    $(document).keydown(function (event) {
        //兼容 IE和firefox 事件
        var e = window.event || event;
        var k = e.keyCode || e.which || e.charCode;
        //兼容 IE,firefox 兼容
        var obj = e.srcElement ? e.srcElement : e.target;
        //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题
        if (k == "13" && (obj.id == "CategoryLevel" || obj.id == "Name")) {
            $("#saveMaterial").click();
        }
        //搜索按钮添加快捷键
        if (k == "13" && (obj.id == "searchCategoryId" || (obj.id == "searchName"))) {
            $("#searchBtn").click();
        }
    });

    //分页信息处理
    function ininPager() {
        try {
            var opts = $("#tableData").datagrid('options');
            var pager = $("#tableData").datagrid('getPager');
            pager.pagination({
                onSelectPage: function (pageNum, pageSize) {
                    opts.pageNumber = pageNum;
                    opts.pageSize = pageSize;
                    pager.pagination('refresh',
                        {
                            pageNumber: pageNum,
                            pageSize: pageSize
                        });
                    showMaterialDetails(pageNum, pageSize);
                }
            });
        } catch (e) {
            $.messager.alert('异常处理提示', "分页信息异常 :  " + e.name + ": " + e.message, 'error');
        }
    }

    function findStockList(mId) {
        $('#materialDetailListDlg').dialog('open').dialog('setTitle', '<img src="/js/easyui/themes/icons/pencil.png"/>&nbsp;查看出入库明细');
        $(".window-mask").css({width: webW, height: webH});
        initMaterialDetailData(mId);
        getMaterialInOutList(mId, 1, initPageSize);
        ininMaterialDetailPager(mId);
    }

    //删除商品信息
    function deleteMaterial(materialID) {
        $.messager.confirm('删除确认', '确定要删除此商品信息吗？', function (r) {
            if (r) {
                $.ajax({
                    type: "post",
                    url: "/material/batchDeleteMaterialByIds",
                    dataType: "json",
                    data: ({
                        ids: materialID
                    }),
                    success: function (res) {
                        if (res && res.code == 200) {
                            $("#searchBtn").click();
                        } else {
                            if (res && res.code == 601) {
                                var jsondata = {};
                                jsondata.ids = materialID;
                                jsondata.deleteType = '2';
                                var type = 'single';
                                batDeleteMaterialForceConfirm(res, "/material/batchDeleteMaterialByIds", jsondata, type);
                            } else if (res && res.code == 600) {
                                $.messager.alert('删除提示', res.msg, 'error');
                            } else {
                                $.messager.alert('删除提示', '删除商品信息异常，请稍后再试！', 'error');
                            }
                        }
                    },
                    //此处添加错误处理
                    error: function () {
                        $.messager.alert('删除提示', '删除商品信息异常，请稍后再试！', 'error');
                        return;
                    }
                });
            }
        });
    }

    //批量删除商品
    function batDeleteMaterial() {
        var row = $('#tableData').datagrid('getChecked');
        if (row.length == 0) {
            $.messager.alert('删除提示', '没有记录被选中！', 'info');
            return;
        }
        if (row.length > 0) {
            $.messager.confirm('删除确认', '确定要删除选中的' + row.length + '条商品信息吗？', function (r) {
                if (r) {
                    var ids = "";
                    for (var i = 0; i < row.length; i++) {
                        if (i == row.length - 1) {
                            ids += row[i].id;
                            break;
                        }
                        //alert(row[i].id);
                        ids += row[i].id + ",";
                    }
                    $.ajax({
                        type: "post",
                        url: "/material/batchDeleteMaterialByIds",
                        dataType: "json",
                        async: false,
                        data: ({
                            ids: ids
                        }),
                        success: function (res) {
                            if (res && res.code === 200) {
                                $("#searchBtn").click();
                                $(":checkbox").attr("checked", false);
                            } else {
                                if (res && res.code == 601) {
                                    var jsondata = {};
                                    jsondata.ids = ids;
                                    jsondata.deleteType = '2';
                                    var type = 'batch';
                                    batDeleteMaterialForceConfirm(res, "/material/batchDeleteMaterialByIds", jsondata, type);
                                } else if (res && res.code == 600) {
                                    $.messager.alert('删除提示', res.msg, 'error');
                                } else {
                                    $.messager.alert('删除提示', '删除商品信息异常，请稍后再试！', 'error');
                                }
                            }
                        },
                        //此处添加错误处理
                        error: function () {
                            $.messager.alert('删除提示', '删除商品信息异常，请稍后再试！', 'error');
                            return;
                        }
                    });
                }
            });
        }
    }

    /**
     * 确认强制删除
     * */
    function batDeleteMaterialForceConfirm(res, url, jsondata, type) {
        $.messager.confirm('删除确认', res.msg, function (r) {
            if (r) {
                $.ajax({
                    type: "post",
                    url: url,
                    dataType: "json",
                    data: (jsondata),
                    success: function (res) {
                        if (res && res.code == 200) {
                            $("#searchBtn").click();
                            if (type == 'batch') {
                                $(":checkbox").attr("checked", false);
                            }
                        } else if (res && res.code == 600) {
                            $.messager.alert('删除提示', res.msg, 'error');
                        } else {
                            $.messager.alert('删除提示', '删除商品信息异常，请稍后再试！', 'error');
                        }
                    },
                    //此处添加错误处理
                    error: function () {
                        $.messager.alert('删除提示', '删除商品信息异常，请稍后再试！', 'error');
                        return;
                    }
                });
            }
        });
    }

    //批量启用
    function setEnableFun() {
        var row = $('#tableData').datagrid('getChecked');
        if (row.length == 0) {
            $.messager.alert('启用提示', '没有记录被选中！', 'info');
            return;
        }
        if (row.length > 0) {
            $.messager.confirm('启用确认', '确定要启用选中的' + row.length + '条信息吗？', function (r) {
                if (r) {
                    var ids = "";
                    for (var i = 0; i < row.length; i++) {
                        if (i == row.length - 1) {
                            ids += row[i].id;
                            break;
                        }
                        ids += row[i].id + ",";
                    }
                    $.ajax({
                        type: "post",
                        url: "/material/batchSetEnable",
                        dataType: "json",
                        async: false,
                        data: ({
                            enabled: true,
                            materialIDs: ids
                        }),
                        success: function (res) {
                            if (res && res.code === 200) {
                                $("#searchBtn").click();
                                $(":checkbox").attr("checked", false);
                            } else {
                                $.messager.alert('启用提示', '启用信息失败，请稍后再试！', 'error');
                            }
                        },
                        //此处添加错误处理
                        error: function () {
                            $.messager.alert('启用提示', '启用信息异常，请稍后再试！', 'error');
                            return;
                        }
                    });
                }
            });
        }
    }

    //批量禁用
    function setDisEnableFun() {
        var row = $('#tableData').datagrid('getChecked');
        if (row.length == 0) {
            $.messager.alert('禁用提示', '没有记录被选中！', 'info');
            return;
        }
        if (row.length > 0) {
            $.messager.confirm('禁用确认', '确定要禁用选中的' + row.length + '条信息吗？', function (r) {
                if (r) {
                    var ids = "";
                    for (var i = 0; i < row.length; i++) {
                        if (i == row.length - 1) {
                            ids += row[i].id;
                            break;
                        }
                        ids += row[i].id + ",";
                    }
                    $.ajax({
                        type: "post",
                        url: "/material/batchSetEnable",
                        dataType: "json",
                        async: false,
                        data: ({
                            enabled: false,
                            materialIDs: ids
                        }),
                        success: function (res) {
                            if (res && res.code === 200) {
                                $("#searchBtn").click();
                                $(":checkbox").attr("checked", false);
                            } else {
                                $.messager.alert('禁用提示', '禁用信息失败，请稍后再试！', 'error');
                            }
                        },
                        //此处添加错误处理
                        error: function () {
                            $.messager.alert('禁用提示', '禁用信息异常，请稍后再试！', 'error');
                            return;
                        }
                    });
                }
            });
        }
    }

    //导入数据
    function setInputFun() {
        //IE下不允许编辑 input=file的值  解决思路：重新克隆input=file，把这个input元素复制一个，然后将原来的删除。
        //在IE下复制元素的时候，其中的值是不会被复制的，所以就达到了清空文件域的目的了。
        //而在Firefox下，其中的值也会被一同复制，清空一下就做到兼容
        var fileUploadInput = $("#materialFile");
        fileUploadInput.after(fileUploadInput.clone().val(""));
        fileUploadInput.remove();
        $("#isCheck").val(1);
        $('#importExcelDlg').dialog('open').dialog('setTitle', '导入商品信息');
        $(".window-mask").css({width: webW - 20, height: webH});
        $("#materialFile").focus();
    }

    //导出数据
    function setOutputFun() {
        var name = $.trim($("#searchName").val());
        var model = $.trim($("#searchModel").val());
        window.location.href = "/material/exportExcel?browserType=" + getOs()
            + "&name=" + name + "&model=" + model + "&categoryIds=" + types;
    }

    //增加
    var url;
    var materialID = 0;
    //保存编辑前的名称/型号/颜色
    var oldName = "";
    var oldModel = "";
    var oldColor = "";
    var oldUnit = "";
    var oldManyUnit = "";

    //根据商品属性架子啊
    function bindMProperty() {
        var trMfrs = $(".tr-mfrs").html();
        trMfrs = '<tr class="tr-mfrs">' + trMfrs + '</tr>';
        var trOtherField1 = $(".tr-otherField1").html();
        trOtherField1 = '<tr class="tr-otherField1">' + trOtherField1 + '</tr>';
        var trOtherField2 = $(".tr-otherField2").html();
        trOtherField2 = '<tr class="tr-otherField2">' + trOtherField2 + '</tr>';
        var trOtherField3 = $(".tr-otherField3").html();
        trOtherField3 = '<tr class="tr-otherField3">' + trOtherField3 + '</tr>';
        //表格模板变更
        $(".tb-other-info").html("");
        for (var i = 0; i < mPropertyList.length; i++) {
            if (mPropertyList[i].nativename === "制造商") {
                $(".tb-other-info").append(trMfrs);
                $(".tr-mfrs td").first().text(mPropertyList[i].anothername);
                if (mPropertyList[i].enabled) {
                    $(".tr-mfrs").show();
                } else {
                    $(".tr-mfrs").hide();
                }
            }
            if (mPropertyList[i].nativename === "自定义1") {
                $(".tb-other-info").append(trOtherField1);
                $(".tr-otherField1 td").first().text(mPropertyList[i].anothername);
                if (mPropertyList[i].enabled) {
                    $(".tr-otherField1").show();
                } else {
                    $(".tr-otherField1").hide();
                }
            }
            if (mPropertyList[i].nativename === "自定义2") {
                $(".tb-other-info").append(trOtherField2);
                $(".tr-otherField2 td").first().text(mPropertyList[i].anothername);
                if (mPropertyList[i].enabled) {
                    $(".tr-otherField2").show();
                } else {
                    $(".tr-otherField2").hide();
                }
            }
            if (mPropertyList[i].nativename === "自定义3") {
                $(".tb-other-info").append(trOtherField3);
                $(".tr-otherField3 td").first().text(mPropertyList[i].anothername);
                if (mPropertyList[i].enabled) {
                    $(".tr-otherField3").show();
                } else {
                    $(".tr-otherField3").hide();
                }
            }
        }
    }

    function addMaterial() {
        if (checkPower()) {
            return;
        }
        $('#materialFM').form('clear');
        initTableDataExtend('add', '0');
        bindMProperty(); //根据商品属性绑定
        $("#EnableSerialNumber").val('0');
        $('#materialDlg').dialog('open').dialog('setTitle', '<img src="/js/easyui/themes/icons/edit_add.png"/>&nbsp;增加商品信息');
        $(".window-mask").css({width: webW, height: webH});
        $("#manyUnitCheck").prop("checked", false);
        $("#manyUnit").val(""); //置空
        //当前为不选中状态
        $("#Unit").show();
        $("#manyUnit").hide();
        //选中基本资料tab
        $("#materialFM #tt .tabs li").first().click();
        oldName = "";
        oldModel = "";
        oldColor = "";
        oldStandard = "";
        oldMfrs = "";
        oldOtherField1 = "";
        oldOtherField2 = "";
        oldOtherField3 = "";
        oldUnit = "";
        oldManyUnit = "";
        materialID = 0;
        url = '/material/add';
        initDepotList(materialID); //加载仓库列表页面
    }

    //商品价格扩展
    function initTableDataExtend(type, materialId) {
        $('#materialExtendData').datagrid({
            height: 200,
            rownumbers: false,
            //动画效果
            animate: false,
            //选中单行
            singleSelect: true,
            collapsible: false,
            selectOnCheck: false,
            //单击行是否选中
            checkOnSelect: false,
            pagination: false,
            //交替出现背景
            striped: true,
            showFooter: true,
            //loadFilter: pagerFilter,
            onClickRow: onClickRow,
            columns: [[
                {
                    field: 'Id',
                    field: 'Id',
                    width: 35,
                    align: "center",
                    checkbox: true
                },
                {
                    title: '条码',
                    field: 'BarCode',
                    editor: 'validatebox',
                    width: 200
                },
                {
                    title: '单位',
                    field: 'CommodityUnit',
                    editor: 'validatebox',
                    width: 70
                },
                {
                    title: '采购价',
                    field: 'PurchaseDecimal',
                    editor: 'validatebox',
                    width: 70
                },
                {
                    title: '零售价',
                    field: 'CommodityDecimal',
                    editor: 'validatebox',
                    width: 70
                },
                {
                    title: '销售价',
                    field: 'WholesaleDecimal',
                    editor: 'validatebox',
                    width: 70
                },
                {
                    title: '最低售价',
                    field: 'LowDecimal',
                    editor: 'validatebox',
                    width: 70
                },
            ]],
            toolbar: [
                {
                    id: 'append',
                    text: '新增',
                    iconCls: 'icon-add',
                    handler: function () {
                        append(1); //新增
                    }
                },
                {
                    id: 'delete',
                    text: '删除',
                    iconCls: 'icon-remove',
                    handler: function () {
                        removeit(); //删除
                    }
                },
                {
                    id: 'reject',
                    text: '撤销',
                    iconCls: 'icon-undo',
                    handler: function () {
                        reject(); //撤销
                    }
                }
            ],

            onLoadError: function () {
                $.messager.alert('页面加载提示', '页面加载异常，请稍后再试！', 'error');
                return;
            }
        });
        $.ajax({
            type: "get",
            url: '/materialsExtend/getDetailList',
            data: {
                materialId: materialId
            },
            dataType: "json",
            success: function (res) {
                if (res && res.code === 200) {
                    $("#materialExtendData").datagrid('loadData', res.data);
                }
            },
            error: function () {
                $.messager.alert('查询提示', '查询数据后台异常，请稍后再试！', 'error');
            }
        });
        dgResize();
    }

    //检查商品名称是否存在 ++ 重名无法提示问题需要跟进
    function checkIsExist() {
        var mName = $.trim($("#Name").val());
        var mModel = $.trim($("#Model").val());
        var mColor = $.trim($("#Color").val());
        var mStandard = $.trim($("#Standard").val());
        var mMfrs = $.trim($("#Mfrs").val());
        var mOtherField1 = $.trim($("#OtherField1").val());
        var mOtherField2 = $.trim($("#OtherField2").val());
        var mOtherField3 = $.trim($("#OtherField3").val());
        var mUnit = $.trim($("#Unit").val());
        var mUnitId = $.trim($("#manyUnit").val());
        //表示是否存在 true == 存在 false = 不存在
        var flag = false;
        //开始ajax名称检验，不能重名(新增或编辑)
        if (materialID == 0 || (materialID != 0 && (mName != oldName || mModel != oldModel
            || mColor != oldColor || mStandard != oldStandard || mMfrs != oldMfrs
            || mOtherField1 != oldOtherField1 || mOtherField2 != oldOtherField2 || mOtherField3 != oldOtherField3
            || mUnit != oldUnit || mUnitId != oldManyUnit))) {
            $.ajax({
                type: "get",
                url: "/material/checkIsExist",
                dataType: "json",
                async: false,
                data: ({
                    id: materialID,
                    name: mName,
                    model: mModel,
                    color: mColor,
                    standard: mStandard,
                    mfrs: mMfrs,
                    otherField1: mOtherField1,
                    otherField2: mOtherField2,
                    otherField3: mOtherField3,
                    unit: mUnit,
                    unitId: mUnitId
                }),
                success: function (res) {
                    if (res && res.code === 200) {
                        if (res.data && res.data.status) {
                            flag = res.data.status;
                            if (flag) {
                                $.messager.alert('提示', '商品信息已经存在', 'info');
                                return;
                            }
                        }
                    }
                },
                //此处添加错误处理
                error: function () {
                    $.messager.alert('提示', '检查商品信息是否存在异常，请稍后再试！', 'error');
                    return;
                }
            });
        }
        return flag;
    }

    //保存信息
    $("#saveMaterial").off("click").on("click", function () {
        if (!$('#Name').val()) {
            $.messager.alert('提示', '品名不能为空！', 'warning');
            return;
        }
        if (!$("#Unit").val() && !$("#manyUnit").val()) {
            $.messager.alert('提示', '单位为必填项！', 'warning');
            return;
        }
        if ($("#materialExtendData").datagrid('getRows').length == 0) {
            $.messager.alert('提示', '请录入条码及相关信息！', 'warning');
            return;
        }
        if (checkIsExist()) {
            return;
        }
        //构造价格列表json
        var priceStrategy = [];
        var basicList = {};
        var otherList = {};
        basicList.Unit = $("#basicUnit").text();
        basicList.RetailPrice = $("#basicRetailPrice").val();
        basicList.LowPrice = $("#basicLowPrice").val();
        basicList.PresetPriceOne = $("#basicPresetPriceOne").val();
        basicList.PresetPriceTwo = $("#basicPresetPriceTwo").val();
        basicList.EnableSerialNumber = $("#EnableSerialNumber").val();
        otherList.Unit = $("#otherUnit").text();
        otherList.RetailPrice = $("#otherRetailPrice").val();
        otherList.LowPrice = $("#otherLowPrice").val();
        otherList.PresetPriceOne = $("#otherPresetPriceOne").val();
        otherList.PresetPriceTwo = $("#otherPresetPriceTwo").val();

        var basic = {};
        var other = {};
        basic.basic = basicList;
        other.other = otherList;
        priceStrategy.push(basic);
        priceStrategy.push(other);

        var objInfo = $("#materialFM").serializeObject();
        objInfo.UnitId = $("#manyUnit").val();
        objInfo.CategoryId = $("#parentid").val();
        objInfo.PriceStrategy = JSON.stringify(priceStrategy);  //价格列表
        //初始库存信息
        var stockArr = [];
        $("#initDepot input").each(function () {
            var id = $(this).attr("data-id");
            var val = $(this).val();
            var stockObj = {};
            stockObj.depotId = id;
            stockObj.number = val;
            stockArr.push(stockObj);
        });
        objInfo = accept(objInfo); //商品价格扩展
        objInfo.stock = JSON.stringify(stockArr);
        $.ajax({
            type: "post",
            url: url,
            dataType: "json",
            async: false,
            data: ({
                info: JSON.stringify(objInfo)
            }),
            success: function (res) {
                if (res && res.code === 200) {
                    $('#materialDlg').dialog('close');
                    //加载完以后重新初始化
                    var opts = $("#tableData").datagrid('options');
                    showMaterialDetails(opts.pageNumber, opts.pageSize);
                }
            },
            //此处添加错误处理
            error: function () {
                $.messager.alert('提示', '保存商品信息异常，请稍后再试！', 'error');
                return;
            }
        });
    });

    var mId = 0, mName = "";

    //根据id查询类型信息
    function findByTypeId(Id) {
        $.ajax({
            type: "get",
            url: "/materialCategory/findById",
            data: ({
                id: Id
            }),
            //设置为同步
            async: false,
            dataType: "json",
            success: function (res) {
                if (res && res.code === 200) {
                    mId = res.data.parentId;
                    mName = res.data.name;
                }
            }
        });
    }

    //编辑信息
    function editMaterial(index) {
        var rowsdata = $("#tableData").datagrid("getRows")[index];
        bindMProperty(); //根据商品属性绑定
        $("#Name").focus().textbox("setValue", rowsdata.name);
        $("#EnableSerialNumber").val(rowsdata.enableserialnumber == '1' ? '1' : '0');
        //商品类别id
        $("#parentid").val(rowsdata.categoryid);
        //商品类别名称
        $("#parentName").textbox("setValue", rowsdata.categoryName);
        mId = rowsdata.categoryid;
        mName = rowsdata.categoryName;
        $("#SafetyStock").textbox("setValue", rowsdata.safetystock);
        $("#Model").textbox("setValue", rowsdata.model);
        $("#Standard").val(rowsdata.standard);
        $("#Color").val(rowsdata.color);
        $("#Mfrs").val(rowsdata.mfrs);
        $("#OtherField1").val(rowsdata.otherfield1);
        $("#OtherField2").val(rowsdata.otherfield2);
        $("#OtherField3").val(rowsdata.otherfield3);
        $("#Unit").val(rowsdata.unit);
        // $("#RetailPrice").textbox("setValue", rowsdata.retailprice);
        // $("#LowPrice").textbox("setValue", rowsdata.lowprice);
        // $("#PresetPriceOne").textbox("setValue", rowsdata.presetpriceone);
        // $("#PresetPriceTwo").textbox("setValue", rowsdata.presetpricetwo);
        $("#Remark").textbox("setValue", rowsdata.remark);
        $("#manyUnit").val(rowsdata.unitid);
        if (rowsdata.unitid) {
            $("#manyUnitCheck").prop("checked", true);
            //当前为选中状态
            $("#Unit").hide();
            $("#manyUnit").show();
            var selectItem = $("#manyUnit").children('option:selected').text();
            if (selectItem !== "(空)") {
                var firstOutUnitOptions = selectItem.substring(0, selectItem.indexOf("("));
                var firstOptions = "";
                var arr = firstOutUnitOptions.split(",");
                var basic = '<option value="' + arr[0] + '">' + arr[0] + '</option>';
                var other = '<option value="' + arr[1] + '">' + arr[1] + '</option>';
                firstOptions = firstOptions + basic + other;
                $("#FirstOutUnit").empty().append('<option value="">(空)</option>').append(firstOptions); //首选销售单位
                $("#FirstInUnit").empty().append('<option value="">(空)</option>').append(firstOptions); //首选采购单位
                $("#FirstOutUnit").val(rowsdata.firstoutunit);//首选销售单位
                $("#FirstInUnit").val(rowsdata.firstinunit);//首选采购单位
            }
        } else {
            $("#manyUnitCheck").prop("checked", false);
            //当前为不选中状态
            $("#Unit").show();
            $("#manyUnit").hide();
        }
        initTableDataExtend('edit', rowsdata.id);
        oldName = rowsdata.name;
        oldModel = rowsdata.model;
        oldColor = rowsdata.color;
        oldStandard = rowsdata.standard;
        oldMfrs = rowsdata.mfrs;
        oldOtherField1 = rowsdata.otherfield1;
        oldOtherField2 = rowsdata.otherfield2;
        oldOtherField3 = rowsdata.otherfield3;
        oldUnit = rowsdata.unit;
        oldManyUnit = rowsdata.unitid;
        $('#materialDlg').dialog('open').dialog('setTitle', '<img src="/js/easyui/themes/icons/pencil.png"/>&nbsp;编辑商品信息');
        $(".window-mask").css({width: webW, height: webH});
        materialID = rowsdata.id;
        //焦点在名称输入框==定焦在输入文字后面
        $("#Name").val("").focus().val(rowsdata.name);
        //选中基本资料tab
        $("#materialFM #tt .tabs li").first().click();
        url = '/material/update?id=' + rowsdata.id;
        initDepotList(rowsdata.id); //加载仓库列表页面
    }

    function initDepotList(mId) {
        $.ajax({
            type: "get",
            url: "/depot/getAllListWithStock?mId=" + mId,
            dataType: "json",
            async: false,
            success: function (res) {
                if (res && res.code == 200) {
                    var json = {};
                    json.depotList = res.data;
                    $.ajax({
                        type: "get",
                        url: "../../../pages/template/init_depot_list.html?2121",
                        async: false,
                        success: function (tem) {
                            if (tem) {
                                var template = Handlebars.compile(tem);
                                var htmlValue = template(json);
                                $("#initDepot").html(htmlValue);
                            }
                        }
                    });
                }
            }
        });
    }

    //搜索处理
    $("#searchBtn").unbind().bind({
        click: function () {
            showMaterialDetails(1, initPageSize);
            var opts = $("#tableData").datagrid('options');
            var pager = $("#tableData").datagrid('getPager');
            opts.pageNumber = 1;
            opts.pageSize = initPageSize;
            pager.pagination('refresh', {
                pageNumber: 1,
                pageSize: initPageSize
            });
        }
    });

    function showMaterialDetails(pageNo, pageSize) {
        var name = $.trim($("#searchName").val());
        var standard = $.trim($("#searchStandard").val());
        var model = $.trim($("#searchModel").val());
        $.ajax({
            type: "get",
            url: "/material/list",
            dataType: "json",
            data: ({
                search: JSON.stringify({
                    name: name,
                    standard: standard,
                    model: model,
                    categoryIds: types,
                    mpList: mPropertyListShort
                }),
                currentPage: pageNo,
                pageSize: pageSize
            }),
            success: function (res) {
                if (res && res.code === 200) {
                    if (res.data && res.data.page) {
                        $("#tableData").datagrid('loadData', res.data.page);
                    }
                }
            },
            //此处添加错误处理
            error: function () {
                $.messager.alert('查询提示', '查询数据后台异常，请稍后再试！', 'error');
                return;
            }
        });
    }

    //重置按钮
    $("#searchResetBtn").unbind().bind({
        click: function () {
            $("#searchParentName").textbox("clear");
            $("#searchParentId").val("");
            $("#searchName").textbox("clear");
            $("#searchStandard").textbox("clear");
            $("#searchModel").textbox("clear");
            types = ""; //清空类别
            //加载完以后重新初始化
            $("#searchBtn").click();
        }
    });

    //绑定事件
    function bindEvent() {
        //下拉绑定事件
        $.ajax({
            type: "get",
            url: "/unit/list",
            dateType: "json",
            data: ({
                currentPage: 1,
                pageSize: 100
            }),
            success: function (res) {
                res = JSON.parse(res);
                if (res && res.code === 200) {
                    if (res.data && res.data.page) {
                        res = res.data.page.rows;
                        var options = "";
                        console.log(res.length);
                        if (res.length) {
                            for (var i = 0; i < res.length; i++) {
                                options += '<option value="' + res[i].id + '">' + res[i].uname + '</option>';
                            }
                            $("#manyUnit").empty().append('<option value="">(空)</option>').append(options);
                            //下拉框事件
                            $("#manyUnit").off("change").on("change", function () {
                                var selectItem = $(this).children('option:selected').text();
                                if (selectItem !== "(空)") {
                                    var firstOutUnitOptions = selectItem.substring(0, selectItem.indexOf("("));
                                    multiple = selectItem.substring(selectItem.indexOf(":") + 1).replace(")", "");  //倍数
                                    var firstOptions = "";
                                    var arr = firstOutUnitOptions.split(",");
                                    var basic = '<option value="' + arr[0] + '">' + arr[0] + '</option>';
                                    var other = '<option value="' + arr[1] + '">' + arr[1] + '</option>';
                                    firstOptions = firstOptions + basic + other;
                                    $("#FirstOutUnit").empty().append('<option value="">(空)</option>').append(firstOptions); //首选销售单位
                                    $("#FirstInUnit").empty().append('<option value="">(空)</option>').append(firstOptions); //首选采购单位
                                    $("#basicUnit").text(arr[0]);
                                    $("#otherUnit").text(arr[1]);
                                }
                            });
                        }
                    }
                }
            },
            error: function () {
                $.messager.alert('查询提示', '查询数据后台异常，请稍后再试！', 'error');
                return;
            }
        });

        //导入excel表格
        $("#saveimport").off("click").on("click", function () {
            if ($("#materialFile").val().length == 0) {
                $.messager.alert('提示', '请选择文件！', 'info');
                return;
            }
            $("#importExcelFM").submit();
            $('#importExcelDlg').dialog('close');

            $.messager.progress({
                title: '请稍候',
                msg: '数据处理ing...'
            });
            setTimeout(function () {
                $.messager.progress('close');
                var opts = $("#tableData").datagrid('options');
                showMaterialDetails(opts.pageNumber, opts.pageSize);
            }, 3300);
        });
    }

    //商品类别选择
    function materialCategoryDlgFun() {
        $('#forSelectMaterialCategoryDlg').dialog({
            title: '商品类别选择',
            width: webW / 2,
            height: webH / 2,
            closed: false,
            cache: false,
            href: '/pages/materials/materialcategory_forselect.html',
            modal: true,
            resizable: true
        });
    }

    //查询父级商品类别
    $("#lookForSelectMaterialCategory").on("click", function () {
        clickType = "selectBtn";
        materialCategoryDlgFun();
    });
    $("#lookForMaterialCategory").on("click", function () {
        clickType = "editBtn";
        materialCategoryDlgFun();
    });

    //单击
    function onClickRow(index) {
        if (editIndex != index) {
            if (endEditing()) {
                $('#materialExtendData').datagrid('selectRow', index)
                    .datagrid('beginEdit', index);
                editIndex = index;
            } else {
                $('#materialExtendData').datagrid('selectRow', editIndex);
            }
        }
    }

    //结束编辑
    function endEditing() {
        if (editIndex == undefined) {
            return true
        }
        if ($('#materialExtendData').datagrid('validateRow', editIndex)) {
            $('#materialExtendData').datagrid('endEdit', editIndex);
            editIndex = undefined;
            return true;
        } else {
            return false;
        }
    }

    //新增
    function append(type) {
        if (endEditing()) {
            $('#materialExtendData').datagrid('appendRow', {});
            editIndex = $('#materialExtendData').datagrid('getRows').length - 1;
            $('#materialExtendData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex);
            var ed = $('#materialExtendData').datagrid('getEditor', {
                index: editIndex,
                field: 'BarCode'
            });
            if (type == 1) {
                if (thisBarCode) {
                    thisBarCode = Number(thisBarCode) + 1;
                } else {
                    thisBarCode = "1000";
                }
            }
            $(ed.target).val(thisBarCode);
        }
    }

    //查询最新条码
    function getMaxBarCode() {
        var barCode = "";
        $.ajax({
            type: "get",
            url: '/material/getMaxBarCode',
            async: false,
            dataType: "json",
            success: function (res) {
                if (res && res.code === 200) {
                    barCode = res.data.barCode;
                }
            },
            error: function () {
                $.messager.alert('查询提示', '查询数据后台异常，请稍后再试！', 'error');
            }
        });
        return barCode;
    }

    //删除
    function removeit() {
        if (editIndex == undefined) {
            return
        }
        $('#materialExtendData').datagrid('cancelEdit', editIndex)
            .datagrid('deleteRow', editIndex);
        editIndex = undefined;
    }

    //撤销
    function reject() {
        $('#materialExtendData').datagrid('rejectChanges');
        editIndex = undefined;
    }

    //判断
    function CheckData() {
        var row = $('#materialExtendData').datagrid('getRows');
        var totalRowNum = "";
        var totalBarCodeOverNum = "";
        for (var i = 0; i < row.length; i++) {
            if (row[i].BarCode == "") {
                totalRowNum += (i + 1) + "、";
            }
            if (row[i].CommodityUnit == "") {
                totalRowNum += (i + 1) + "、";
            }
            if (row[i].BarCode.length > 15) {
                totalBarCodeOverNum += (i + 1) + "、";
            }
        }
        if (totalRowNum != "") {
            var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1);
            $.messager.alert('提示', "第" + totalRowNum + "行数据填写不完整！", 'info');
            return false;
        }
        if (totalBarCodeOverNum != "") {
            var totalBarCodeOverNum = totalBarCodeOverNum.substring(0, totalBarCodeOverNum.length - 1);
            $.messager.alert('提示', "第" + totalBarCodeOverNum + "行条码长度超过15位！", 'info');
            return false;
        }
        return true;
    }

    //商品价格扩展
    function accept(objInfo) {
        append(0);
        removeit();
        if ($("#materialExtendData").datagrid('getChanges').length) {
            if (!CheckData())
                return false;
            objInfo.inserted = $("#materialExtendData").datagrid('getChanges', "inserted");
            objInfo.deleted = $("#materialExtendData").datagrid('getChanges', "deleted");
            objInfo.updated = $("#materialExtendData").datagrid('getChanges', "updated");
        }
        if (endEditing()) {
            $('#materialExtendData').datagrid('acceptChanges');
        }
        return objInfo;
    }
</script>
</body>
</html>
